a, b, c = 100, 200, "test"

print(a, b, c)

print(type(a), type(c))

print(False == 0) # True

print(True == 1) # True

d = 1
print(d)
del d
# print(d) # 删除后就不能访问了

"""
    数据类型
    Number     数字     不可变
    String     字符串   不可变
    Tuple      元组     不可变
    bool       布尔类型
    List       列表     可变 js的数组
    Set        集合     可变
    Dictionary 字典     可变
"""

# 计算
print(5 + 2)
print(4.3 - 2)
print(3 * 7)
print(2 / 4)
print(7 // 4) # 除法向下取整
print(17 % 3) # 取余
print(2 ** 5) # 乘方

# 在 Python 中，所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True，只有 0、空字符串、空列表、空元组等被视为 False
a = True
b = False

# 比较运算符
print(2 < 3)   # True
print(2 == 3)  # False

# 逻辑运算符
print(a and b)  # False
print(a or b)   # True
print(not a)    # False

# 类型转换
print(int(a))   # 1
print(float(b)) # 0.0
print(str(a))   # "True"

list = [1, 3, 5, '4545'] # 其中的数据类型可以不同
print(list)

tuple = (1, 3, 4, 5, 7, "34344") # 其中的数据类型可以不同
print(tuple)

# set
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
print(sites)   # 输出集合，重复的元素被自动去掉
# 成员测试
if 'Runoob' in sites :
    print('Runoob 在集合中')
else :
    print('Runoob 不在集合中')
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的并集
print(a & b)     # a 和 b 的交集
print(a ^ b)     # a 和 b 中不同时存在的元素

# Dictionary字典 类似js对象
dict1 = {}
dict1['one'] = "1 - 菜鸟教程"
dict1[2]     = "2 - 菜鸟工具"

tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict1['one'])       # 输出键为 'one' 的值
print (dict1[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
dict1 = dict([(12, 1), ('Google', 2), ('Taobao', 3)])
print(dict1, dict1['Google'])
print(f'a is:{dict1}') # 模板字符串
f = [x + y for x in 'ABCDE' for y in '1234567'] # 拼接各种情况
print(f) 